package org.jeecg.modules.imm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 资金方报文记录表
 * @Author: jeecg-boot
 * @Date: 2021-12-09
 * @Version: V1.0
 */
@Data
@TableName("imm_investor_item")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "资金方报文记录表对象", description = "imm_investor_item")
public class ImmInvestorMsg implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private String id;
    /**
     * 资金方Id
     */
    @Excel(name = "资金方Id", width = 15)
    @ApiModelProperty(value = "资金方Id")
    private Integer investorId;
    /**
     * 项目ID
     */
    @Excel(name = "项目ID", width = 15)
    @ApiModelProperty(value = "项目ID")
    private Integer itemId;
    /**
     * 月规模限额
     */
    @Excel(name = "月规模限额", width = 15)
    @ApiModelProperty(value = "月规模限额")
    private BigDecimal monthScaleLimit;
    /**
     * 单笔规模限额
     */
    @Excel(name = "单笔规模限额", width = 15)
    @ApiModelProperty(value = "单笔规模限额")
    private BigDecimal singleScaleLimit;
    /**
     * 已使用规模
     */
    @Excel(name = "	已使用规模", width = 15)
    @ApiModelProperty(value = "	已使用规模")
    private BigDecimal usedScale;
    /**
     * 授信额度
     */
    @Excel(name = "授信额度", width = 15)
    @ApiModelProperty(value = "授信额度")
    private BigDecimal creditLine;
    /**
     * 已占用额度
     */
    @Excel(name = "已占用额度", width = 15)
    @ApiModelProperty(value = "已占用额度")
    private BigDecimal occupiedQuota;
    /**
     * 预占用额度
     */
    @Excel(name = "预占用额度", width = 15)
    @ApiModelProperty(value = "预占用额度")
    private BigDecimal preOccupiedQuota;
    /**
     * 可用额度
     */
    @Excel(name = "可用额度", width = 15)
    @ApiModelProperty(value = "可用额度")
    private BigDecimal availableCredit;
    /**
     * 授信开始日
     */
    @Excel(name = "授信开始日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "授信开始日")
    private Date creditStartTime;
    /**
     * 授信到期日
     */
    @Excel(name = "授信到期日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "授信到期日")
    private Date creditEndTime;
    /**
     * 单笔融资限额
     */
    @Excel(name = "单笔融资限额", width = 15)
    @ApiModelProperty(value = "单笔融资限额")
    private BigDecimal singleFinLimit;
    /**
     * 单笔融资最小期限
     */
    @Excel(name = "单笔融资最小期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最小期限")
    private Date singleFinMinTime;
    /**
     * 单笔融资最大期限
     */
    @Excel(name = "单笔融资最大期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最大期限")
    private Date singleFinMaxTime;
    /**
     * 基准利率
     */
    @Excel(name = "基准利率", width = 15)
    @ApiModelProperty(value = "基准利率")
    private BigDecimal baseInterestRate;
    /**
     * 浮动点数
     */
    @Excel(name = "浮动点数", width = 15)
    @ApiModelProperty(value = "浮动点数")
    private Integer floatingPoint;
    /**
     * 逾期浮动点数
     */
    @Excel(name = "逾期浮动点数", width = 15)
    @ApiModelProperty(value = "逾期浮动点数")
    private BigDecimal overdueFloatingPoint;
    /**
     * 资金方账号
     */
    @Excel(name = "资金方账号", width = 15)
    @ApiModelProperty(value = "资金方账号")
    private String invAccountNumber;
    /**
     * 利息支付方
     */
    @Excel(name = "利息支付方", width = 15)
    @ApiModelProperty(value = "利息支付方")
    private Integer interestPayer;
    /**
     * 结息方式
     */
    @Excel(name = "结息方式", width = 15)
    @ApiModelProperty(value = "结息方式")
    private Integer interestSettlementWay;
    /**
     * 结息日
     */
    @Excel(name = "结息日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "结息日")
    private Date interestExpiryTime;
    /**
     * 核心企业还款账户
     */
    @Excel(name = "核心企业还款账户", width = 15)
    @ApiModelProperty(value = "核心企业还款账户")
    private String ceRepaymentAccount;
    /**
     * 核心企业还款账户名称
     */
    @Excel(name = "核心企业还款账户名称", width = 15)
    @ApiModelProperty(value = "核心企业还款账户名称")
    private String ceRepaymentAccountName;
    /**
     * 核心企业还款账户开户行
     */
    @Excel(name = "核心企业还款账户开户行", width = 15)
    @ApiModelProperty(value = "核心企业还款账户开户行")
    private String ceRepaymentAccountBank;
    /**
     * 融资率
     */
    @Excel(name = "融资率", width = 15)
    @ApiModelProperty(value = "融资率")
    private BigDecimal financingRate;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 附件路径
     */
    @Excel(name = "附件路径", width = 15)
    @ApiModelProperty(value = "附件路径")
    private String accessory;
}
